home *** CD-ROM | disk | FTP | other *** search
/ The Fatted Calf / The Fatted Calf.iso / Modules / BackSpaceModules / Source / BoinkSpace / BoinkViewPart.h < prev    next >
Text File  |  1992-04-02  |  1KB  |  78 lines

  1.  
  2. #import <appkit/View.h>
  3. #import "Thinker.h"
  4.  
  5. typedef struct { float l,b,r,t;    } BRECT;
  6.  
  7. typedef struct { 
  8.     float hue;
  9.     float pos;
  10.     } LineInfo;
  11.  
  12. // maximum number number of grid lines
  13. #define NVERT 8
  14. #define NHORIZ 10
  15.  
  16. #define DECREASING 0
  17. #define INCREASING 1
  18.  
  19. void horizLineWithAvoidance(float x1, float y1, float x2,float y2,
  20.             float hue,float brightness, const NXRect *r);
  21.  
  22. void verticalLineWithAvoidance(float x1, float y1, float x2,float y2,
  23.             float hue,float brightness, const NXRect *r);
  24.  
  25. @interface BoinkView:View
  26. {
  27.     float    xpos;
  28.     float    xspeed;
  29.     float    ypos;
  30.     float    yspeed;
  31.     float    accel;
  32.     int    ballNum;
  33.     int    spinDir;
  34.     int rebound;
  35.  
  36.     float viewHeight;
  37.     float viewWidth;
  38.  
  39.     BRECT old;
  40.     NXPoint ballTo;
  41.     NXPoint redrawTo;
  42.     NXRect redraw;
  43.     NXSize oldSize;
  44.     
  45.     id buffer;
  46.     id balls;
  47.     
  48.     int nvert, nhoriz;
  49.     int vcount, hcount;
  50.     LineInfo vertLines[NVERT];
  51.     LineInfo horizLines[NHORIZ];
  52.     int toggle;
  53.     int reboundMode;
  54.     float lastLaunchSpeed;
  55.  
  56.     BStimeval now, then;
  57.     BStimeval nextRotationTime;
  58.     BStimeval nextLineDrawTime;
  59. }
  60.  
  61. - oneStep;
  62. - newSpeed;
  63. - initFrame:(const NXRect *)frameRect;
  64. - setAccel:(float)val;
  65. - sizeTo:(NXCoord)width :(NXCoord)height;
  66. - drawSelf:(const NXRect *)rects :(int)rectCount;
  67. - newViewSize;
  68. - incrementBallNumber;
  69. - (float) getRandomXspeed;
  70. - (float) timeCorrectedXSpeed;
  71. - checkXspeed:(float *)speed;
  72. - (const char *)windowTitle;
  73. - updateGrid;
  74. - drawGrid;
  75. - drawLinesInBuffer;
  76.  
  77. @end
  78.